Recent developments in the graphics arts industry has led to the development of Variable Data Printing (VDP) which allows for prints containing personalized data. VDP adds additional performance requirements to a Raster Image Processor (RIP) because the personalized data results in pages that need to be rendered individually.
Variable Data Printing is a modern form of printing that allows highly targeted content and information in an output. VDP combines graphical arts design with information technology to provide the utility to add variable content. Variable content is derived from data in databases that characterize the targeted audience. It is envisioned that the highly customized printed material will enable in the printing industry the success being seen today in Internet one-to-one marketing.
A problem that exists with a variable-data print job is that it will typically take longer to process than a similar, non-variable-data print job. Variable print data conventionally is sent to a Raster Image Processor (RIP) where code for text elements and graphic elements are processed into a format that can be used by the marking engine. Therefore, every page having variable data must have each and every code element RIPped (Raster Image Processed). This presents a substantial processing overhead compared to non-variable-data print jobs where the code for the text elements and graphic elements needed to be RIPped only once.
There is an ongoing desire within the graphic arts community to correct the shortcoming, as discussed above, within the prior art and to enable a faster form of VDP up to final print production and finishing. It is also desirable to use currently practiced methodology within the print engine. The graphic arts community has been in need, until recently, of a method for providing efficient and reliable exchange of variable data digital master data.
A new mark up language for variable data printing based on XML is the Personalized Print Markup Language (PPML) that makes variable-data jobs print faster by allowing a printer to store text elements and graphic elements and re-use them as needed. This eliminates the need to send the same code to the printer/RIP multiple times during the same print job.
PPML is a significant advancement for variable data printing because it allows a printer/RIP to understand at an object level rather than a page level. It allows a printer/RIP to have a certain degree of intelligence and manipulate the components (objects) that make up a page. It also provides code developers the ability to name objects, which permits their re-use as needed during printing of a variable-data job.
A further development that can be used with PPML is a recent standard that has developed called Variable Data Exchange (VDX), which has evolved as a means of producing variable data in the form of a VDX instance. A VDX instance can be looked at as a compilation of records that define the content and layout of many composite pages. These VDX instances can be used with PPML to create composite pages of PPML/VDX instance documents.
VDP adds additional performance requirements to a Raster Image Processor (RIP) because every instance of a document is unique and must be composed individually. In general, documents will contain both recurring elements that may have been prerasterized and also non-recurring elements that must be processed (RIPped) on the fly.
Composition of graphic elements into a sheet surface is traditionally done using a full frame buffer that represents all color separations of the surface. This buffer can become very large for large format, high resolution color images. There are numerous prior art references that deal with memory utilization problems. Prior art reference U.S. Pat. No. 6,134,018 issued to Dziesietnik et al. (Dziesietnik) teaches that variable data can be RIPped more efficiently by RIPping and compressing data simultaneously. Dziesietnik teaches that a system can use less memory (storage) by using compression techniques but the system of Dziesietnik still requires that a frame buffer be used to store the compressed master document. The variable data is then merged with the master document in the frame buffer. While providing some improvements in terms of processing efficiency and memory utilization, Dziesietnik does not provide a significantly efficient method of using recurring objects that obviates the use of a frame buffer.
Another traditional method of utilizing memory involves employing band buffers in a composer and requires all elements to be prerasterized. These elements can be appropriately sorted and placed onto the band buffers. While this method provides the use of memory bands instead of a frame buffer type of memory, the disadvantage of this method is that every element must be prerasterized and subsequently merged onto the band, regardless if the element is recurring or not. This creates an additional processing overhead since even non-recurring elements must first be rasterized into one memory region and subsequently copied into the final band.
Other compositions of graphic elements onto a sheet surface implementations provide simple alternatives by dictating that all objects must be rectangular and allow no overlap of the objects. Another simple version of rendering allows the objects to be layered but does not allow unmarked pixels within the objects, i.e. no pixels within the higher layers may be transparent. In this case the top object can be determined prior to RIPping and the appropriate clip paths may be set for variable objects.
From the foregoing discussion, it should be readily apparent that there remains a need within the art for a method and apparatus that can RIP variable data quickly and efficiently.